package cn.iocoder.yudao.module.reading.controller.app.follow.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 关注用户 Response VO
 *
 * @author 李晨
 */
@Schema(description = "用户 APP - 关注用户 Response VO")
@Data
public class FollowUserRespVO {

    @Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long userId;

    @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "小明")
    private String nickname;

    @Schema(description = "用户头像", example = "https://example.com/avatar.jpg")
    private String avatar;

    @Schema(description = "关注时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2024-01-06T10:30:00")
    private LocalDateTime followTime;

    @Schema(description = "关注状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "active")
    private String status;

    @Schema(description = "是否互相关注", example = "true")
    private Boolean isMutualFollow;

    @Schema(description = "用户统计信息")
    private UserStatsVO stats;

    @Schema(description = "用户统计信息")
    @Data
    public static class UserStatsVO {
        @Schema(description = "关注数", example = "10")
        private Integer followingCount;

        @Schema(description = "粉丝数", example = "20")
        private Integer followerCount;

        @Schema(description = "打卡天数", example = "30")
        private Integer punchDays;

        @Schema(description = "阅读绘本数", example = "50")
        private Integer readBooks;

        @Schema(description = "配音数量", example = "5")
        private Integer recordingCount;
    }

}
